The software-as-a-service (SaaS) market is growing. SaaS can be described as a software licensing and delivery model, in which software is licensed on a subscription basis and is centrally hosted by a third-party service provider (e.g., in the cloud). In some examples, SaaS is accessed by customers using a thin client on a web browser. In some examples, customers provide customer data to the SaaS service provider, over which data a web application performs operations. However, customers are concerned about the confidentiality of their data in the cloud. For example, motivated hackers and/or malicious insiders could try to steal customer data.
Encryption is a potential solution, but supporting the necessary functionality in existing web applications is difficult. For example, analytical web applications perform extensive data processing operations in databases, which databases store encrypted data (customer data). Existing solutions for encrypting data processed by web applications poorly support functionality required by the web applications.